# -*- coding:utf-8 -*-
import socket

"""
16-7. 半双工聊天。创建一个简单的，半双工的聊天程序。 “半双工”的意思是当创建一个
连接，服务启动的时候，只有一个人可以打字，另一个人只有在等到有消息通知他输入消息时，才
能说话。一旦消息发送出去后，要等到有回复了才能发送下一条消息。一个人是服务端，另一个人
是客户端

"""

s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind(('127.0.0.1',8000))
s.listen(2)
print('waiting for connection....')

BUFSIZE=1024
conn,addr = s.accept()

while True:
	data = conn.recv(BUFSIZE)
	#如果接收到空数据,退出
	if not data:
		break
	print conn,":",data
	data = raw_input('>')
	if data == 'q':
		break
	conn.sendall(data)
conn.close()
s.close()